package com.newsnetwork.article.service;

import com.newsnetwork.pojo.Article;
import com.newsnetwork.pojo.vo.ArticleDetailVO;
import com.newsnetwork.utils.PagedGridResult;

import java.util.List;

/**
 * @author: HuangDekai
 * @date: 2022/11/12 13:23
 * @version: 1.0
 * @since: jdk8
 * @description: 门户端文章业务的 Service, 有实现首页查询文章等业务的接口
 */
public interface ArticlePortalService {
    /**
     * 首页查询文章列表
     * @param keyword 查询关键词
     * @param category 查询标签(即类型)
     * @param page 分页中的第几页
     * @param pageSize 每页有几条记录
     * @return 分页好的查询结果
     */
    PagedGridResult queryIndexArticleList(String keyword,
                                          Integer category,
                                          Integer page,
                                          Integer pageSize);

    /**
     * 查询热新闻列表
     * @return 热新闻列表
     */
    List<Article> queryHotList();

    /**
     * 作者信息页首页查询文章列表
     * @param writerId 作家id
     * @param page 分页中的第几页
     * @param pageSize 每页有几条记录
     * @return 分页好的查询结果
     */
    PagedGridResult queryArticleListOfWriter(String writerId,
                                             Integer page,
                                             Integer pageSize);

    /**
     * 查询作者近期文章列表
     * @param writerId 作家id
     * @return 作者近期文章列表
     */
    PagedGridResult queryGoodArticleListOfWriter(String writerId);

    /**
     * 查询文章详情
     * @param articleId 文章ID
     * @return 文章信息
     */
    ArticleDetailVO queryDetail(String articleId);
}
